<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            /* 
              promise 是js进行异步编程的的新的解决方案
              具体表达：
              （1）从语法上说，promise是一个构造函数
              （2）从功能上说，promise对象用来封装一个异步操作的并可以获取结果
              
              状态改变：peding->resolved
                       peding->rejected
              说明：只有两种，且一个promise对象只能改变一次，无论成功还是失败，都只有一个结果数据，成功的数据叫做value，失败的结果数据是reason
             */ 
          var p =  new Promise((resolve, reject) => {
                setTimeout(()=>{
                    var time = Date.now()
                    if(time%2==0){
                       resolve('成功的数据 time='+time) 
                    }else{
                        reject('失败的数据，time='+time)
                    }
                },1000);
            })
            
        p.then(
            value=>{
                console.log('onewsolved',value)
            },
            reason=>{
                console.log('onrejected',reason)
            }
        )
        </script>
    </body>
</html>